import request from "@/utils/request";


const commissionAPI = {
  /**
   * 设计师-装修公司佣金列表
   */
  getDesignPage(data: ConsumerHouseDesignLinkQuery) {
    return request<any, ConsumerHouseDesignLinkVO>({
      url: `/merchant/commission/pageDesign`,
      method: "post",
      data,
    });
  },
  /**
   * 建材商佣金列表
   * @param data
   */
  getMaterialBuyPage(data: ConsumerHouseDesignLinkQuery) {
    return request<any, ConsumerHouseDesignLinkVO>({
      url: `/merchant/commission/pageMaterialBuy`,
      method: "post",
      data,
    });
  },
  paymentDesign(id) {
    return request({
      url: `/merchant/commission/paymentDesign/${id}`,
      method: "post",
    });
  },
  paymentMaterialBuy(id) {
    return request({
      url: `/merchant/commission/paymentMaterialBuy/${id}`,
      method: "post",
    });
  },
}
export default commissionAPI;

export interface ConsumerHouseDesignLinkQuery {
  /** 主键id */
  id?: number;

  /** 佣金状态 */
  commissionStatus?: number;

  /** 签约开始时间 */
  contractBeginTime?: string;

  /** 签约结束时间 */
  contractEndTime?: string;

  /** 业主名 */
  ownName?: string;
}

export interface ConsumerHouseDesignLinkVO {
  /** 主键ID */
  id: number;

  /** 房屋ID */
  houseId: number;

  /** 通讯录ID */
  contactId: number;

  /** 设计师ID */
  merchantUserId: number;

  /** 签约设计师姓名 */
  designerName: string;

  /** 签约设计师电话 */
  designerPhone: string;

  /** 装修公司ID */
  companyId: number;

  /** 装修公司名称 */
  decorationCompanyName: string;

  /** 装修公司地址 */
  decorationAddress: string;

  /** 合同金额 */
  contractAmount: number;

  /** 合同时间 */
  contractTime: string;

  /** 付款凭证 */
  paymentFile: string;

  /** 收款凭证 */
  receiptFile: string;

  /** 签约合同凭证 */
  contractFile: string;

  /** 状态：0未填写，1已填写，2已同意，3已拒绝 */
  status: number;

  /** 审核信息 */
  remark: string;

  /** 创建时间 */
  createTime: string;

  /** 创建人ID */
  createBy: number;

  /** 更新时间 */
  updateTime: string;

  /** 更新人ID */
  updateBy: number;

  /** 核销券码 */
  couponCode: string;

  /** 支付佣金 */
  commission: number;

  /** 佣金状态：1待支付，2已支付 */
  commissionStatus: number;
}
